// pages/texttvoice/index.js
//获取应用实例
const app = getApp()
//引入插件：微信同声传译
const plugin = requirePlugin('WechatSI')
Page({

  /**
   * 页面的初始数据
   */
  data: {

  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    
  },

    /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    // this.textTranslate("你好", "zh_CN", "en_US")
    this.textTranslate("积极的语言塑造积极的思维，积极的思维塑造积极的人生")
    // this.textTranslate()
  },

  textTranslate(content = "positive  language, positive  mind, positive  life"){
    // var englishPattern = /^[A-Za-z]+$/; //判断某个字符串是英文
    // var chinesePattern = /^[\u4e00-\u9fa5]+$/; //判断某个字符串是中文
    // 英文开头
    var englishPattern = /^[A-Za-z]/;
    // 中文开头
    // var chinesePattern = /^[\u4e00-\u9fa5]/;
    console.log(englishPattern.test(content));
    plugin.translate({
      lfrom: englishPattern.test(content) ? "en_US" : "zh_CN" ,
      lto: englishPattern.test(content) ? "zh_CN" : "en_US",
      content,
      tts: true, //对翻译结果进行语音合成
      success: (res) => {
        console.log(res);
        if(res.retcode == 0) {
          console.log("原始文本=>", res.origin)
          console.log("翻译结果=>", res.result)
          console.log("语音合成返回的语音地址,可下载=>", res.filename)
          console.log("语音合成超时后无法播放时间戳=>", res.expired_time)
          // 1、设置tts为true，播放合成的语音
          const backgroundAudioManager = wx.getBackgroundAudioManager()
          backgroundAudioManager.src = res.filename  
          backgroundAudioManager.title = '文本播放' 
          // 2、使用语音合成方法播报
          // this.playTextToVoice(res.result)
        } else {
          console.warn("翻译失败", res)
        }
      },
      fail: function(res) {
        console.log("网络失败",res)
      }
    })
  },

  // 文字转语音
  playTextToVoice(content){
    //创建内部 audio 上下文 InnerAudioContext 对象。
    this.innerAudioContext = wx.createInnerAudioContext();
    const that = this;
    plugin.textToSpeech({
      // 调用插件的方法
      lang: 'zh_CN',
      // lang: 'en_US',
      content,
      success: function (res) {
        that.playAudio(res.filename);
      }
    });
  },
  // 播报语音
  playAudio(e) {
    this.innerAudioContext.src = e; //设置音频地址
    this.innerAudioContext.play(); //播放音频
  },
  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
    this.innerAudioContext && this.innerAudioContext.stop();
    this.innerAudioContext && this.innerAudioContext.destroy();
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
    this.innerAudioContext && this.innerAudioContext.stop();
    this.innerAudioContext && this.innerAudioContext.destroy();
  },


  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})